<template>
    <!--使用 watch 属性来监听父组件传递过来的 max 值，不管 watch 会触发几次，最后一次肯定是一个合法的 amx 数值-->
    <div class="mui-numbox" data-number-min="1">
        <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
        <input class="mui-input-numbox" type="number" :value="value" @change="countChanged" ref="numbox" readonly />
        <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
    </div>
</template>

<script>
import mui from "../libs/mui/js/mui.min";

export default {
    props: ["value", "max"],
    mounted() {
        mui(".mui-numbox").numbox();
    },
    methods: {
        countChanged() {
            // 每当文本框的数据被修改时立即让最新的数据通过事件调用传递给父组件
            this.$emit("input", parseInt(this.$refs.numbox.value));
        }
    },

    watch: {
        max: function (newVal, oldVal) {
            // 设置 numbox 最大值
            mui(".mui-numbox").numbox().setOption("max", newVal);
        }
    }
}
</script>

<style scoped>

</style>